<style type="text/css">
	.update_tb tr{
		height:30px;
	}
	.label{
		padding:0 5px 0 10px;
	}
	.labels{
		font-size: 12px;
    font-weight: bold;
    color: #0E2D5F;
    height: 16px;
	}
	/* 上传btn修改样式 */
.uploadify-button {
    border: 1px solid #F3EEEE;
    background-color:rgba(102, 174, 236, 0.91);
    line-height: 30px;
    border-radius: 4px;
    font-size: 15px;
}

.uploadify-button:hover {
    background-color:#EF5959; 
}
.rowStyle{
	background-color: red;
}
.validatebox-readonly{
	/*background-color: rgba(208, 206, 206, 0.37);*/
}
#zpyl label{
	display:inline-block; 
	width:70px;
	padding:5px 0 5px 10px;
}
#zpyl div{

	padding:5px 0 5px 0px;
}
</style>

<!-- <script src="https://cdn.bootcss.com/xlsx/0.10.7/jszip.js"></script>
<script src="https://cdn.bootcss.com/xlsx/0.10.7/xlsx.js"></script>
<script src="https://cdn.bootcss.com/xlsx/0.10.7/cpexcel.js"></script>
<script src="https://cdn.bootcss.com/TableExport/5.0.0-rc.9/js/tableexport.js"></script> -->
<div id="CalLayout" class="easyui-layout" data-options="fit:true,border:false">     
    <div data-options="region:'north',title:'VIN码计算器web版本1.0',split:true,border:false" style="height:65px;">
    	<table>
			<tr>
				<td>
					<if condition="authCheck1('Home/Vin/importList')">
				        <a href="#" id= "add_Vin_btn" class="easyui-linkbutton"  onclick='show_add_Vin()' data-options="iconCls:'icon-standard-folder-page',plain:true">导入</a> 
				    </if>
				</td>
				<td>
			    	<div class="datagrid-btn-separator"></div>
				</td> 
			  			 
				<td>
					<if condition="authCheck1('Home/Vin/cal')">
				        	  <a href="#" class="easyui-linkbutton"  onclick="CalVin()" data-options="iconCls:'icon-search',plain:'true'">计算</a> 
				    </if>
				
				</td>
			   	<td>
			     <div class="datagrid-btn-separator"></div>
			 	</td>

			 <if condition="authCheck1('Home/Scfy/out')">
			  	<td>
			  		<if condition="authCheck1('Home/Vin/daochu')">
				        <a href="#" id= "aaa1" class="easyui-linkbutton"  onclick='daochuzp()' data-options="iconCls:'icon-standard-page-white-excel',plain:true">导出</a> 
				    </if>
					<if condition="authCheck1('Home/Vin/daochuMes')">
				        <a href="#" id= "aaa1" class="easyui-linkbutton"  onclick='daochuMes()' data-options="iconCls:'icon-standard-page-white-excel',plain:true">导出MES</a> 
				    </if>
				    <if condition="authCheck1('Home/Vin/daochuPrint')">
				        <a href="#" id= "aaa1" class="easyui-linkbutton"  onclick='daochuP()' data-options="iconCls:'icon-standard-page-white-excel',plain:true">导出打印</a> 
				    </if>
				   
				  
				  
				</td>
			   	<td>
			     	<div class="datagrid-btn-separator"></div>
			 	</td>
			   </if>
			   <td>
			   		<if condition="authCheck1('Home/Vin/updateVin')">
				       <a href="#" class="easyui-linkbutton"  onclick="updateVin()" data-options="iconCls:'icon-standard-arrow-refresh',plain:true">上传</a> 
				    </if>
			 		
				  	<a href="#" class="easyui-linkbutton"  onclick="reloadVin()" data-options="iconCls:'icon-standard-arrow-refresh',plain:true">刷新</a> 

			   </td>
			   	<td>
			     	<div class="datagrid-btn-separator"></div>
				 </td>
			</tr>

		</table>
    </div> 
    <div data-options="region:'west',title:'车辆列表',split:true" style="width:500px;">
    	<table id="clList"></table>
    </div>
    <div data-options="region:'center',title:''" style="padding:0px;background:#eee;">
   

		<div id="tt" class="easyui-tabs" data-options="fit:true,border:false">  
		    <div title="结果1:Excel" style="padding:0px;display:none;">  
		         <table id="vinResult1"></table>  
		    </div>  
		    <div title="结果2:MES" data-options="closable:false" style="overflow:auto;padding:0px;">  
		        <table id="vinResult2"></table>     
		    </div>  
		    <div title="结果3:打印" data-options="iconCls:'icon-reload',closable:false" style="padding:0px;">  
		        <table id="vinResult3"></table>    
		    </div>  
		</div>  
    	
    </div>  
  <!--   <div data-options="region:'east',iconCls:'icon-reload',title:'通知',split:true" style="width:100px;">
    	

    </div>   
    <div data-options="region:'south',title:'',split:true" style="height:50px;">
    	
    	行数  列数
    </div>   -->
    
    
    
</div>  

<!-- 导入 -->
<div id="add_vinlist" class="easyui-dialog" style="width: 728px; height: 130px; padding: 0px; overflow: hidden;" title="&nbsp;&nbsp;导入VIN码计算列表" data-options="iconCls:'icon-standard-folder-page',buttons:'#dlg-add-mes',closed:true,resizable:false,modal:true,closable:true">
			<div id="url-vinlist">
			</div>
			<input type="hidden" name="vinlist" class="form-control" id='urltext-vin' value="" />
		</div>
		<div id="dlg-add-mes">
			<div class="tool_tip">
				选择文件后系统会自动上传！！
			</div>
			<a href="#" class="easyui-linkbutton" data-options="iconCls:'icon-cancel'" onclick="javascript:$('#add_vinlist').dialog('close')">取消</a>
</div>

<script type="text/javascript">
	$('#clList').datagrid({
	url : '',
	// toolbar : '#toolSycyMes',
	pagination : true,
	fit : true,
	width : function() {
		return document.body.clientWidth * 0.9
	},
	nowrap : true,
	collapsible : true,
	fitColumns : true,
	autoRowHeight : true,
	striped : true,//交替行
	singleSelect : true,//只允许选择一行
	rownumbers : true,
	border : false,
	// sortName : 'cx',
	// sortOrder : 'desc',//倒序排列
	// remoteSort : false,
	pageSize : 50,
	method : "post",
	pageList : [ 20, 40, 50, 100, 200,500 ],
	columns : [ [
			{
				field : 'cx',
				title : '出具车型',
				width : 150,
				align : 'left'
				
			},{
				field : 'vin8',
				title : 'VIN码前8位',
				width : 120,
				align : 'left'
				
			},{
				field : 'lshqj',
				title : '流水号区间',
				width : 170,
				align : 'left'
				
			},{
				field : 'rwh',
				title : '任务号',
				width : 170
				
			}
	] ],
	  onDblClickRow: function (rowIndex, rowData) { 
	  },
	    onSelect:function(index,row){

$('#sycyList').datagrid('load',{

			 jhh:row.sjjhh

 });



    }
});

		$('#vinResult11').datagrid({
	// url : '__APP__/Home/Scfy/syfyMes',
	// toolbar : '#toolSycyMes',
	pagination : true,
	fit : true,
	width : function() {
		return document.body.clientWidth * 0.9
	},
	nowrap : true,
	collapsible : true,
	fitColumns : true,
	autoRowHeight : true,
	striped : true,//交替行
	singleSelect : true,//只允许选择一行
	rownumbers : true,
	border : false,
	// sortName : 'jhh',
	// sortOrder : 'desc',//倒序排列
	// remoteSort : false,
	pageSize : 50,
	method : "post",
	pageList : [ 20, 40, 50, 100, 200,500 ],
	columns : [ [
			{
				field : 'cx',
				title : '车型',
				width : 150,
				align : 'left'
				
			},{
				field : 'vin',
				title : 'VIN码/车型/数量',
				width : 150,
				align : 'left'
				
			},{
				field : 'rwh',
				title : '任务号',
				width : 150,
				align : 'left'
				
			},{
				field : 'num',
				title : '数量',
				width : 150
				
			}
	] ],
	  onDblClickRow: function (rowIndex, rowData) { 
	  },
	    onSelect:function(index,row){

$('#sycyList').datagrid('load',{

			 jhh:row.sjjhh

 });



    }
});
				$('#vinResult2').datagrid({
	// url : '__APP__/Home/Scfy/syfyMes',
	// toolbar : '#toolSycyMes',
	pagination : true,
	fit : true,
	width : function() {
		return document.body.clientWidth * 0.9
	},
	nowrap : true,
	collapsible : true,
	fitColumns : true,
	autoRowHeight : true,
	striped : true,//交替行
	singleSelect : true,//只允许选择一行
	rownumbers : true,
	border : false,
	pageSize : 50,
	method : "post",
	pageList : [ 20, 40, 50, 100, 200,500 ],
	columns : [ [
			{
				field : 'id',
				checkbox : true
			},{
				field : 'cx',
				title : '车型',
				width : 150,
				align : 'left',
				hidden:true
				
			},{
				field : 'vin',
				title : 'VIN码/车型/数量',
				width : 150,
				align : 'left'
				
			},{
				field : 'lsh',
				title : '流水号',
				width : 150,
				align : 'left',
				formatter: function(value,row,index){
					// var lsh=.substring(9,8);

					var lsh=row.vin.substr(9,8);
					return lsh;
				
			}},{
				field : 'rwh',
				title : '任务号',
				width : 150,
				align : 'left',
				hidden:true
				
			},{
				field : 'num',
				title : '数量',
				width : 150,
				hidden:true
				
			}
	] ],
	  onDblClickRow: function (rowIndex, rowData) { 
	  },
	    onSelect:function(index,row){

$('#sycyList').datagrid('load',{

			 jhh:row.sjjhh

 });



    }
});
					$('#vinResult3').datagrid({
	// url : '__APP__/Home/Scfy/syfyMes',
	toolbar : '#toolSycyMes',
	pagination : true,
	fit : true,
	width : function() {
		return document.body.clientWidth * 0.9
	},
	nowrap : true,
	collapsible : true,
	fitColumns : true,
	autoRowHeight : true,
	striped : true,//交替行
	singleSelect : true,//只允许选择一行
	rownumbers : true,
	border : false,
	// sortName : 'jhh',
	// sortOrder : 'desc',//倒序排列
	// remoteSort : false,
	pageSize : 50,
	method : "post",
	pageList : [ 20, 40, 50, 100, 200,500 ],
	columns : [ [
			{
				field : 'id',
				checkbox : true
			},{
				field : 'cx',
				title : '车型',
				width : 150,
				align : 'left'
				
			},{
				field : 'vin',
				title : 'VIN码',
				width : 200,
				align : 'left'
				
			},{
				field : 'rwh',
				title : '任务号',
				width : 150,
				align : 'left'
				
			},{
				field : 'lsh',
				title : '流水号',
				width : 150,
				align : 'left',
				formatter: function(value,row,index){
					// var lsh=.substring(9,8);

					var lsh=row.vin.substr(9,8);
					return lsh;
				
			}},{
				field : 'num',
				title : '数量',
				width : 50,
				align : 'center'
				
			}
	] ],
	  onDblClickRow: function (rowIndex, rowData) { 
	  },
	    onSelect:function(index,row){

$('#sycyList').datagrid('load',{

			 jhh:row.sjjhh

 });



    }
});
$('#vinResult1').datagrid({
	// url : '__APP__/Home/Scfy/syfyMes',
	// toolbar : '#toolSycyMes',
	pagination : true,
	fit : true,
	width : function() {
		return document.body.clientWidth * 0.9
	},
	nowrap : true,
	collapsible : true,
	fitColumns : true,
	autoRowHeight : true,
	striped : true,//交替行
	singleSelect : true,//只允许选择一行
	rownumbers : true,
	border : false,
	// sortName : 'jhh',
	// sortOrder : 'desc',//倒序排列
	// remoteSort : false,
	pageSize : 50,
	method : "post",
	pageList : [ 20, 40, 50, 100, 200,500 ],
	columns : [ [
			{
				field : 'id',
				checkbox : true
			},{
				field : 'lsh1',
				title : '流水号',
				width : 100,
				align : 'left'
				
			},{
				field : 'vin1',
				title : 'VIN码/车型/数量',
				width : 180,
				align : 'left'
				
			},{
				field : 'lsh2',
				title : '流水号',
				width : 100,
				align : 'left'
				
			},{
				field : 'vin2',
				title : 'VIN码/车型/数量',
				width : 180
				
			}
	] ],
	  onDblClickRow: function (rowIndex, rowData) { 
	  },
	    onSelect:function(index,row){

$('#sycyList').datagrid('load',{

			 jhh:row.sjjhh

 });



    }
});


		// 显示导入窗口
function show_add_Vin(){
    $('#add_vinlist').window('open');
}

//上传



// function loadData() {
//     var options = $('#clList').datagrid('options');
//     options.url = '/api/AirQuality/PointRanking/getRanking';
//     options.queryParams = { selectAreaLoc: selectAreaLoc, selectPointAvg: selectPointAvg };
//     $('#gridlistRanking').datagrid(options);

// }

function CalVin(){
	// 获得要计算的列表
	var vinList=$('#clList').datagrid("getData");
	if(vinList.total>0){
		// 是否有数据，没有提示


	var list=vinList.rows;
	var data=[];
	 for(var i=0;i<list.length;i++){
           // console.log(list[i]);
           data[i]=vinP(list[i].cx,list[i].vin8,list[i].lshqj,list[i].rwh);
      }  

   // console.log(vinList);
   var total=0;
   var rows=[];

   for(var i=0;i<data.length;i++){
   		for(j=0;j<data[i]['vinR'].length;j++){
   			total=total+1;

   			var item={"cx": data[i]['cx'], "rwh":data[i]['rwh'],"num":data[i]['num'],"vin":data[i]['vinR'][j]};
   			rows.push(item);

   		}	
   }
var total1=0;
var rows1=[];
for(var i=0;i<data.length;i++){
	// VIN码/车型/数量
	var itemCxSl={"cx1": '', "vin1":data[i]['cx']+'/'+data[i]['num']+'辆',"cx2": '',"vin2":data[i]['rwh']};
	rows1.push(itemCxSl);
	total1=total1+1;
	var step = 2;
   		for(j=0;j<data[i]['vinR'].length;j+=step){
   			
   			var vin1=data[i]['vinR'][j];
   			vin1+="";
   			lsh1=vin1.substr(11);
   			var vin2='';
   			if(j+2>data[i]['vinR'].length){
   				 vin2='';
   				 lsh2='';
   			}else{
   				vin2=data[i]['vinR'][j+1];
   				vin2+="";
   				lsh2=vin2.substr(11);
   			}
   			
   			// .substr(11,6);
   			var item={"lsh1": lsh1, "vin1":vin1,"lsh2": lsh2,"vin2":vin2};
   			rows1.push(item);
   			total1=total1+1;

   		}	
 }

var json={"total":total,"rows":rows};
var json1={"total":total1,"rows":rows1};
   // console.log(total);
   // console.log(json);

$('#vinResult1').datagrid('loadData',json1);
   $('#vinResult2').datagrid('loadData',json);
   $('#vinResult3').datagrid('loadData',json);
   // console.log(JSON.stringify(rows));
   	}else{
   		$.messager.alert('VIN码计算', "请导入数据后再进行计算！", 'info');
   	}
}
// VIN批量计算函数,cx:车型,q前8位,lsh1：流水号区间,rwh：附带信息，如任务号等
function vinP(cx,q,lsh1,rwh){
       if(!arguments[3]){
        flag = "";
       }
       if(!arguments[0]){
        cx = "";
       }
      var lshA=new Array;
      lshA=lsh(lsh1);
      var vinR=new Array;
      for(var i=0;i<lshA.length;i++){  
           vinR[i]=vin(q,lshA[i]);
      }

var data=[];
data.cx= cx;
data.rwh= rwh;  
data.vinR= vinR; 
data.num= vinR.length;   
return data;
  }
var zmb = [
    ['0', 0],
    ['1', 1],
    ['2', 2],
    ['3', 3],
    ['4', 4],
    ['5', 5],
    ['6', 6],
    ['7', 7],
    ['8', 8],
    ['9', 9],
    ['A', 1],
    ['B', 2],
    ['C', 3],
    ['D', 4],
    ['E', 5],
    ['F', 6],
    ['G', 7],
    ['H', 8],
    ['J', 1],
    ['K', 2],
    ['L', 3],
    ['M', 4],
    ['N', 5],
    ['P', 7],
    ['R', 9],
    ['S', 2],
    ['T', 3],
    ['U', 4],
    ['V', 5],
    ['W', 6],
    ['X', 7],
    ['Y', 8],
    ['Z', 9]
];
var jqb=[8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2];

        // 计算VIN,q为前8位,lsh为流水号，输出数组
        function vin(q,lsh){
            var sum=0;
          var vin=q+'X'+lsh;           
          for(i=0;i<17;i++){                
              for(j=0;j<33;j++){             
                  if(vin.substr(i,1)==zmb[j][0]){                   
                   sum=sum+ zmb[j][1] * jqb[i];
                  }
              }
          }
          	if(sum % 11==10){
				return q+'X'+lsh;
          	}else{
          		return q+sum % 11+lsh;	
          	}
            
        }
        // 将流水号段改为数组
        function lsh(lsh){
            if(lsh.length==17){
                if(lsh.substr(0,2)==lsh.substr(9,2)){
                   var nf=lsh.substr(0,2);
                var fir=Number(lsh.substr(2,6));
                var lat=Number(lsh.substr(11,6));
                var n= lat-fir+1;
                var lshsz=new Array;
                 for (var i=0;i<n;i++){
                  var h=(i+fir).toString();
                   lshsz[i]=nf +ling(h)+h;
                 }
                 return lshsz;
                }
            }else{
            	var lshsz=new Array;
            	lshsz[0]=lsh;
            	return lshsz;
            }
        }

        // 补0
        function ling(a){
          var n=6-a.length;
          var re="";
          for(var i=0;i<n;i++){
              re=re+'0';
          }
          return re;

        }


        function daochuzp(){

			var data1=$('#vinResult1').datagrid('getData');
			if(data1.rows.length>0){
				$.post('__APP__/Home/Vin/sessionVIN', data1,function(data){
				if(data.status==1){
					window.location.href='__APP__/Home/Vin/daochu1/';
				}else{
					$.messager.show({ 
												title : '错误',
												msg : data.data
											});
				}
			}, 'json');
			}else{
				$.messager.alert('导出VIN码', "没有计算结果", 'info');
			}
			

        }
        function daochuMes(){
        	var data1=$('#vinResult2').datagrid('getData');
			if(data1.rows.length>0){
				$.post('__APP__/Home/Vin/sessionVIN', data1,function(data){
					if(data.status==1){
						window.location.href='__APP__/Home/Vin/daochu2/';
					}else{
						$.messager.show({ 
													title : '错误',
													msg : data.data
												});
					}
				}, 'json');

			}else{
							$.messager.alert('导出VIN码', "没有计算结果", 'info');
						}
 
        }
          function daochuP(){
        		var data1=$('#vinResult3').datagrid('getData');
        	if(data1.rows.length>0){
				$.post('__APP__/Home/Vin/sessionVIN', data1,function(data){
					if(data.status==1){
						window.location.href='__APP__/Home/Vin/daochu3/';
					}else{
						$.messager.show({ 
													title : '错误',
													msg : data.data
												});
					}
				}, 'json');
			}else{
				$.messager.alert('导出VIN码', "没有计算结果", 'info');
			}

 
        }


        function updateVin(){
        		var data1=$('#vinResult3').datagrid('getData');
        	if(data1.rows.length>0){
				$.post('__APP__/Home/Vin/updateVin', data1,function(data){
					if(data.status==1){
						$.messager.alert('上传VIN码', data.data, 'info');
					}
					
				}, 'json');
			}else{
				$.messager.alert('上传VIN码', "没有计算结果", 'info');
			}

			// console.log(data1);
        }

        


</script>